It is a common practice to employ forms of data encoding to facilitate data transfer in a communication system 10, such as shown in FIG. 1. A transmitter (Xmit) 12 sends data along a channel 16 to a receiver (Rcvr) 14. In one example, the transmitter 12 and receiver 14 may comprise integrated circuit components, while channel 16 comprises a signal trace on a printed circuit board that supports those components. As shown, within the transmitter 12, the data 11 to be transferred is sent to an encoder 13, where it is modified into a new format presumably better suited for transmission through the channel 16. Once the encoded data is received at the receiver 14, it is sent to a decoder 15, which essentially removes the formatting to once again recover the original data 11. The recovered data 11 may then be applied to some useful end by a functional circuit 18 within the receiver 14. System 10 may comprise, for example a Synchronous Dynamic Random Access Memory (SDRAM), in which the receiver 14 comprises an SDRAM integrated circuit and the transmitter 12 comprises a microprocessor or a memory controller 12. Of course, in such an implementation many channels 16 would be present and operate in parallel, but this is not shown for convenience. However, the transmitter 12 and receiver 14 can comprise any type of integrated circuits, or even functional blocks on the same integrated circuit for example.
There are many different ways in which data may be encoded prior to transmission, and several previous methods are illustrated in FIG. 2. Starting at the top of FIG. 2 is an exemplary data stream of ‘1s’ and ‘0s,’ corresponding to the un-encoded data 11 of FIG. 1. This data 11, as shown, comprises a non-return-to-zero (NRZ) signal, which for all intents and purposes comprises a “normal” time varying digital data signal in need of encoding, in which a logic ‘1’ state comprises a high voltage (e.g., Vcc, typically the operating voltage of the transmitter 12) and a logic ‘0’ state comprises a low voltage (e.g., GND).
The first encoding method shown in FIG. 2 comprises return-to-zero (RZ) encoding, in which the latter half of each data bit necessarily returns to zero. The next illustrated encoding method comprises bipolar non-return-to-zero (Bi-NRZ) encoding, which basically level shifts the voltage of the logic ‘0’ bits to a logic ‘−1’ state (e.g., −Vcc), such that the resulting signal is bipolar, varying from −Vcc to +Vcc. The next illustrated method comprises bipolar return-to-zero (Bi-RZ) encoding, which essentially comprises a combination of the previously-illustrated RZ and Bi-NRZ encoding methods, in which a bipolar signal returns to zero (e.g., GND) during the latter half of each data bit.
Manchester encoding, the next illustrated method, converts each data bit to a logic transition. Specifically, a logic ‘1’ bit is converted to a low-to-high (‘0’-to-‘1’) transition, while a logic ‘0’ bit is converted to a high-to-low (‘1’-to-‘0’) transition. Finally, the last illustrated method shown, 4-PAM (Pulse Amplitude Modulation) encoding, assesses two sequential bits and encodes them into a single pulse having one of four potential amplitudes. These amplitudes can be equally spaced between ground and Vcc (e.g., GND, +⅓Vcc, +⅔Vcc, and Vcc), which for convenience can be respectively referred to as logic states ‘0,’ ‘1,’ ‘2,’ and ‘3.’
These previous encoding approaches were designed to achieve various benefits; however, it is not particularly interesting to this disclosure to review such benefits in detail. Instead, what is important to understand is the effect that these previous encoding methods have on intersymbol interference (ISI). As one skilled in the art understands, ISI results when a pulse becomes dispersed while traveling down a bandwidth-limited transmission line, such as channel 16 in FIG. 1. This dispersion results from a combination of non-uniform group delay (different frequency components within the pulse propagating at distinct speeds and arriving at different points in time at the receiver) and the high frequency signal loss incurred as the bandwidth of the data to be transmitted exceeds the physical bandwidth of the transmission channel 16. As the data rate approaches or exceeds the bandwidth limit of the channel, the dispersion becomes worse, with the result that a given data pulse has the potential to perturb prior and subsequent pulses.
FIG. 3 illustrates the effects of ISI on an un-encoded (NRZ signal), and particularly shows the problem of DC creep resulting from ISI. Shown is an ideal signal 20 as would be sent from the transmitter 12. The transmission of this ideal signal 20 was simulated as passing through a channel 16 with a specified transfer function essentially mimicking that of a lossy and bandwidth-limited trace on a typical printed circuit board. Because frequency components within the ideal signal 20 are approaching the frequency limit of the channel 16, it can be seen that the resulting signal 22 is “smeared” and does not well represent the ideal signal 20. Obviously, such a poor representation of the data reduces the sensing margins at the receiver 14.
DC creep makes sensing further difficult. As one skilled in the art understands, DC creep tends to draw ISI-affected signals higher or lower in potential over time. Whether the average signal level creeps up or down depends on the predominant logic states within the signal: if the signal contains a predominant number of ‘0s’, the average signal level will creep downward; and if the signal contains a predominant number of ‘1s,’ the bias average signal level will creep upward. Creep in both directions is noticeable in FIG. 3. Because the first half of the ideal signal 20 contains mostly ‘0s,’ the resulting signal 22 during that period tends to creep to lower DC levels. By contrast, the second half of the ideal signal 20 contains mostly ‘1s,’ and so it is seen that the resulting signal 22 creeps towards higher DC levels. As noted, this problem of creep further exacerbates sensing. If it is assumed that a single threshold voltage (Vt) is used to sense the data at the receiver, creep will eventually cause some ‘1s’ to be erroneously sensed as ‘0s’ (see, e.g., points 24a), and some ‘0s’ to be erroneously sensed as ‘1s’ (see, e.g., point 24b).
As data frequencies continue to increase, problems resulting from ISI and DC creep become significant, and so it is worthwhile to consider to what extent the previous encoding schemes of FIG. 2 are useful in protecting against such effects. In this regard, it can be noticed immediately that three of the illustrated encoding techniques (RZ; Bi-RZ; and Manchester) result in an effective doubling of the frequency, because the encoded bits are half the duration of the original NRZ bits. Because ISI results from the problem that even the baseline NRZ signal is of too high a frequency for the channel 16, it is obvious that encoding techniques that increase the frequency of the signal will only make matters worse, and are not preferred as a means for mitigating such problems. Manchester encoding is somewhat of an exception in that the DC balanced nature of Manchester encoded data tends to suppress DC creep. However, the doubling of the associated circuitry bandwidth is still problematic, and as such, Manchester has been avoided in multi-Gigabit/second systems.
Another technique, Bi-NRZ, does not change the frequency content of the signal when compared to the normal NRZ signal. However, it requires operation at negative voltages, which increases system complexity, while doing nothing to mitigate ISI or DC creep.
Finally, the 4-PAM technique would mitigate against the effects of ISI because it cuts the effective frequency in half by doubling the duration of the encoded bits. However, such benefits are largely overshadowed by a concomitant increase in sensing complexity. Specifically, because of the four voltage levels for the encoded signals (e.g., GND, +⅓Vcc, +⅔Vcc, and Vcc), at least three voltage thresholds must be used to sense these levels (e.g., +⅙Vcc, +½Vcc, and +⅚Vcc). Because the magnitudes of data signals are also decreasing as technology progresses, the requirement to sense voltages of such fine gradations is difficult, especially at appropriate speeds. In short, the 4-PAM technique essentially trades off one sensing problem (ISI) for another (reducing voltage margins), and is not preferred as an encoding technique for mitigating against the effects of ISI in modern-day high-frequency digital signals.
With the foregoing understood, it should be evident that the art would be benefited by an improved data encoding technique useful in mitigating ISI and DC creep in high-speed data transmissions, but without significant associated drawbacks. This disclosure provides such a solution.